package sismed.gui.comando;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import sismed.exception.DAOException;
import sismed.negocio.fachada.Fachada;
import sismed.negocio.modelo.Exame;
import sismed.negocio.modelo.ExameUrinalise;


public class ComandoCadastrarResExameUrinalise extends ComandoGenerico {

	@Override
	public void executar(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException  {
		if(request.getSession().getAttribute("tipoUsuario").equals(null))				
			response.sendRedirect("login.jsp");
		else{
			Fachada fachada = Fachada.getInstance();
			
			String idExame = request.getParameter("idExame");
			String volumeExaminado = request.getParameter("volumeExaminado");
			String celulasEpitelias = request.getParameter("celulasEpitelias");
			String reacao = request.getParameter("reacao");
			String leucocitos = request.getParameter("leucocitos");
			String densidade = request.getParameter("densidade");
			String hemacias = request.getParameter("hemacias");
			String albumina = request.getParameter("albumina");
			String piocitos = request.getParameter("piocitos");
			String glicose = request.getParameter("glicose");
			String cilindros = request.getParameter("cilindros");
			String acetona = request.getParameter("acetona");
			String cristais = request.getParameter("cristais");
			String pigmentosBiliares = request.getParameter("pigmentosBiliares");
			String outros = request.getParameter("outros");
			String hemoglobina = request.getParameter("hemoglobina");
			String urobilinogenio = request.getParameter("urobilinogenio");
			String proteinurua24h = request.getParameter("proteinuria24h");
			String proteinaBenceJones = request.getParameter ("proteinaBenceJones");
			String clearenceCreatina = request.getParameter("clearenceCreatina");
			String peso = request.getParameter("peso");
			String altura = request.getParameter("altura");
			String volumeUrina24h = request.getParameter("volumeUrina24h");
			String creatinaUrina = request.getParameter("creatinaUrina");
			String creatinaSoro = request.getParameter ("creatinaSoro");
			String resultadoClearence = request.getParameter("resultadoClearence");
			String observacao = request.getParameter("observacao");
			String dataResultado = request.getParameter ("diaResultado")+ "/" + request.getParameter ("mesResultado")+ "/" +request.getParameter ("anoResultado");
			
			Exame exame = null;
			try {
				exame = (ExameUrinalise) fachada.recuperarExame(idExame);
			} catch (DAOException e1) {
				e1.printStackTrace();
			}
		
			((ExameUrinalise)exame).getSumarioUrinalise().setVolumeExaminado(volumeExaminado);
			((ExameUrinalise)exame).getSumarioUrinalise().setReacao(reacao);
			((ExameUrinalise)exame).getSumarioUrinalise().setDensidade(densidade);
			((ExameUrinalise)exame).getSumarioUrinalise().setAlbumina(albumina);
			((ExameUrinalise)exame).getSumarioUrinalise().setGlicose(glicose);
			((ExameUrinalise)exame).getSumarioUrinalise().setAcetona(acetona);
			((ExameUrinalise)exame).getSumarioUrinalise().setPigmentosBiliares(pigmentosBiliares);
			((ExameUrinalise)exame).getSumarioUrinalise().setHemoglobina(hemoglobina);
			((ExameUrinalise)exame).getSumarioUrinalise().setUrobilinogenio(urobilinogenio);
			
		
			
			((ExameUrinalise)exame).getSedimentoscopiaUrinalise().setCelulasEpitelias(celulasEpitelias);
			((ExameUrinalise)exame).getSedimentoscopiaUrinalise().setLeucocitos(leucocitos);
			((ExameUrinalise)exame).getSedimentoscopiaUrinalise().setHemacias(hemacias);
			((ExameUrinalise)exame).getSedimentoscopiaUrinalise().setPiocitos(piocitos);
			((ExameUrinalise)exame).getSedimentoscopiaUrinalise().setCilindros(cilindros);
			((ExameUrinalise)exame).getSedimentoscopiaUrinalise().setCristais(cristais);
			((ExameUrinalise)exame).getSedimentoscopiaUrinalise().setOutros(outros);
			
			
			((ExameUrinalise)exame).getPesquisaUrinalise().setProteinuria24h(proteinurua24h);
			((ExameUrinalise)exame).getPesquisaUrinalise().setProteinaBenceJones(proteinaBenceJones);
			((ExameUrinalise)exame).getPesquisaUrinalise().setClearenceCreatina(clearenceCreatina);
			((ExameUrinalise)exame).getPesquisaUrinalise().setPeso(peso);
			((ExameUrinalise)exame).getPesquisaUrinalise().setAltura(altura);
			((ExameUrinalise)exame).getPesquisaUrinalise().setVolumeUrina24h(volumeUrina24h);
			((ExameUrinalise)exame).getPesquisaUrinalise().setCreatinaUrina(creatinaUrina);
			((ExameUrinalise)exame).getPesquisaUrinalise().setCreatinaSoro(creatinaSoro);
			((ExameUrinalise)exame).getPesquisaUrinalise().setResultadoClearence(resultadoClearence);
			((ExameUrinalise)exame).getPesquisaUrinalise().setObservacao(observacao);
			((ExameUrinalise)exame).getPesquisaUrinalise().setDataResultado(dataResultado);
			((ExameUrinalise)exame).setRealizado(true);
			try {
				fachada.atualizarExame( exame);
				request.setAttribute("msgsucesso", "Resultado cadastrado com sucesso.");
				request.getRequestDispatcher("sucesso.jsp").forward(request, response);
			} 
			catch ( DAOException e) {	
				e.printStackTrace();
				request.setAttribute("msgerro", e.getMessage());		
				request.getRequestDispatcher("erro.jsp").forward(request, response);
			}
		}
	}
}
